Computer virtualization has proven to be very valuable in many information technology (IT) scenarios. By using virtualization, a computer running a base operating system (e.g., MICROSOFT WINDOWS) can run the same or another “guest” operating system on top of the base operating system in a virtual environment (e.g., LINUX). Virtualization tools offer a number of beneficial features. For example, virtualization can be quite useful in quality assurance (QA) testing where it may be desirable to test a certain program in a variety of operating system environments. A QA engineer can create a virtual machine (VM) for each desired operating system, and can test their application in each of those guest operating systems without ever changing the base operating system that runs on a computing device.
Virtualization can also be quite useful in server environments. For example, if a VM is used as an email server, and the physical server running the VM suffers a hardware failure, the email server VM image can be quickly launched on another physical server in a very short period of time while the hardware failure is analyzed, to minimize downtime.
Virtualization has also proven to be quite useful for large companies, such as NETFLIX, who have a great deal of multimedia content to be streamed over the Internet, but do not want to concern themselves with the burden of maintaining large numbers of servers for streaming. Services, such as “Amazon Web Services” (AWS) from AMAZON.COM have proven to be quite useful for customers of all sizes. By using AWS, a “tenant” can simply select how many VMs are desired from AMAZON, and how much computing resources are needed for each VM (e.g., CPUs, memory, etc.), and those VMs are then provided without the tenant ever knowing the details of the backend hardware supporting their VMs. While AWS runs as a service on AMAZON-hosted servers, other virtualization products can provide virtualization on an organization's own hardware. Some example virtualization products along these lines include VCENTER from VMWARE, XENSERVER from CITRIX, and HYPER-V from MICROSOFT.
The VMs of an organization may need to be occasionally audited. This may be required for Sarbanes-Oxley (SOX) or Payment Card Industry (PCI) compliance auditing, for example. Such audits may require knowledge of what access restrictions were enforced for VMs housing sensitive information (e.g., credit card information), and/or may require information regarding specific attributes of certain VMs at a given point in time.